Sun Mar 27 19:59:52 2005 Manish Singh <yosh@gimp.org>
* io-bmp.c (grow_buffer): reject 0-sized buffers as corrupt header
data. Fixes bug #171707.
+Sun Mar 27 19:59:52 2005 Manish Singh <yosh@gimp.org>
+
+ * io-bmp.c (grow_buffer): reject 0-sized buffers as corrupt header
+ data. Fixes bug #171707.
+
2005-03-25 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use canonical
static gboolean grow_buffer (struct bmp_progressive_state *State,
GError **error)
{
- guchar *tmp = g_try_realloc (State->buff, State->BufferSize);
+ guchar *tmp;
+
+ if (State->BufferSize == 0) {
+ g_set_error (error,
+ GDK_PIXBUF_ERROR,
+ GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+ _("BMP image has bogus header data"));
+ State->read_state = READ_STATE_ERROR;
+ return FALSE;
+ }
+
+ tmp = g_try_realloc (State->buff, State->BufferSize);
+
if (!tmp) {
g_set_error (error,
GDK_PIXBUF_ERROR,
State->read_state = READ_STATE_ERROR;
return FALSE;
}
+
State->buff = tmp;
return TRUE;
}